home *** CD-ROM | disk | FTP | other *** search
/ The PC-SIG Library 10 / The PC-Sig Library - Shareware for the IBM PC and Compatibles (PC-SIG)(Tenth Edition Disks 1-2804)(1991).iso / PC_SIGCD / 03 / 2 / DISK0326.ZIP / SCNMAP.BAS < prev    next >
BASIC Source File  |  1983-02-24  |  6KB  |  89 lines

  1. 1 ' (PC)^3 Software Submission SCNMAP authored on February 4, 1983 by
  2. 2 '
  3. 3 ' Michael Csontos, 3228 Livonia Center Road, Lima, New York 14485
  4. 4 '
  5. 5 ' Copyright 1983 Michael Csontos
  6. 6 '
  7. 7 '  This program is made freely available non-exclusively to the Picture
  8. 8 '  City Personal Computer Programmers' Club for distribution to its members
  9. 9 '  and through software exchange to other users groups as long as credit is
  10. 10 ' given to the author and (PC)^3.
  11. 11 '
  12. 15 '
  13. 16 '
  14. 10000 CLS:SCREEN 0,0,0:WIDTH 80:KEY OFF:WIDTH "lpt1:",255:DEFINT A-Z
  15. 10100 PRINT "This program will cause the Epson printer (with script capability) to make
  16. 10200 PRINT "a form that can be used to lay-out screen formats for the IBM color-graphics
  17. 10300 PRINT "adapter card in the alpha-numeric mode in either the 40 or 80 column width.
  18. 10400 PRINT "You may choose either a blank form or one with each character position filled
  19. 10500 PRINT "with the address of the memory location corresponding to that position.
  20. 10600 PRINT
  21. 10700 PRINT "Do you want: 1) a blank 40 width form,
  22. 10800 PRINT " or          2) a filled 40 width form,
  23. 10900 PRINT " or          3) a blank 80 width form,
  24. 11000 PRINT " or          4) a filled 80 width form,
  25. 11100 PRINT " or          <Esc> to end the program.
  26. 11200 PRINT:PRINT "Please press 1, 2, 3, 4, or <Esc>.
  27. 11300 X$=INKEY$:IF X$="" THEN 11300 ELSE IF X$=CHR$(27) THEN 11700 ELSE A=VAL(X$)
  28. 11350 ON ERROR GOTO 11650
  29. 11400 IF A>4 OR A<1 THEN 11200
  30. 11500 IF A=1 OR A=2 THEN 11800
  31. 11600 IF A=3 OR A=4 THEN 14500
  32. 11650 RESUME
  33. 11700 CLS:KEY ON:END
  34. 11800 LPRINT CHR$(27)CHR$(64)CHR$(15)CHR$(27)CHR$(48)'reset;compressed;1/8" lines
  35. 11900 IF A=1 THEN LPRINT "Blank layout for screen graphics for the IBM Personal Computer Color Graphics Adapter Card in the 40 column width mode.":LPRINT:GOTO 12100
  36. 12000 LPRINT "Memory map of the screen graphics RAM for the IBM Personal Computer Color Graphics Adapter Card in the 40 column width A/N mode.":LPRINT
  37. 12100 LPRINT CHR$(27)CHR$(45)CHR$(1);:FOR L=25 TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT CHR$(27)CHR$(45)CHR$(0)'underlined
  38. 12200 FOR M=1 TO 40
  39. 12300 LPRINT CHR$(27)CHR$(51)CHR$(1);'1/216" lines (effectively no LF)
  40. 12400 FOR N=1 TO 26:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT
  41. 12500 IF A=1 THEN LPRINT:GOTO 12800
  42. 12600 LPRINT CHR$(27)CHR$(83)CHR$(1);'subscript
  43. 12700 FOR L=0 TO 24 STEP 1:LPRINT USING " ####";(80*(25-L))-(80-2*M+1)-1;:NEXT L:LPRINT
  44. 12800 LPRINT CHR$(27)CHR$(49)CHR$(27)CHR$(84)CHR$(27)CHR$(72)'7/72" lines;cancel script; cancel double strike;line feed
  45. 12900 LPRINT CHR$(27)CHR$(51)CHR$(1):LPRINT:LPRINT '1/216" lines (effectively no LF)
  46. 13000 LPRINT CHR$(27)CHR$(45)CHR$(1);'underline
  47. 13100 FOR N=1 TO 26:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT USING "##";M
  48. 13200 LPRINT CHR$(27)CHR$(45)CHR$(0);'cancel underline
  49. 13300 IF A=1 THEN LPRINT:GOTO 13600
  50. 13400 LPRINT CHR$(27)CHR$(83)CHR$(0);'superscript
  51. 13500 FOR L=0 TO 24 STEP 1:LPRINT USING " ####";(80*(25-L))-(80-2*M)-1;:NEXT L:LPRINT
  52. 13600 LPRINT CHR$(27)CHR$(49)CHR$(27)CHR$(84)CHR$(27)CHR$(72) '7/72" lines;cancel script; cancel double strike;line feed
  53. 13700 NEXT M
  54. 13800 LPRINT CHR$(27)CHR$(65)CHR$(2)'line feed 2/72"
  55. 13900 FOR L=25 TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT
  56. 14000 LPRINT CHR$(15)CHR$(27)CHR$(48);'compressed;1/8" lines
  57. 14100 IF A=1 THEN LPRINT:LPRINT "In the above chart each block represents a character (pel).":GOTO 14400
  58. 14200 LPRINT:LPRINT "In the above chart each block represents a character (pel). The upper number is the address of the character, the lower is the
  59. 14300 LPRINT "address of the attribute. To access these bytes in BASIC, use the instruction DEF SEG=&HB800 then PEEK(n) or POKE n,data.
  60. 14400 LPRINT CHR$(12);:ON ERROR GOTO 0:RUN
  61. 14500 C=80:R=25
  62. 14600 LPRINT CHR$(27)CHR$(64)CHR$(15)CHR$(27)CHR$(48)'reset;compressed;1/8" lines
  63. 14700 IF A=3 THEN LPRINT "Blank layout for screen graphics for the IBM Personal Computer Color Graphics Adapter Card in the 80 column width mode.":LPRINT:GOTO 14900
  64. 14800 LPRINT "Memory map of the screen graphics RAM for the IBM Personal Computer Color Graphics Adapter Card in the 80 column width A/N mode.":LPRINT
  65. 14900 LPRINT CHR$(27)CHR$(45)CHR$(1);:FOR L=25 TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT CHR$(27)CHR$(45)CHR$(0);'underlined
  66. 15000 LPRINT CHR$(27)CHR$(65)CHR$(1)'1/72" lines
  67. 15100 FOR P=1 TO 5:LPRINT :NEXT P
  68. 15200 FOR M=1 TO C
  69. 15300 FOR N=1 TO R+1:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT
  70. 15400 LPRINT CHR$(27)CHR$(83)CHR$(1);'subscript
  71. 15500 IF A=3 THEN FOR L=0 TO R-1 STEP 1:LPRINT "     ";:NEXT L:LPRINT USING "   ##";M:GOTO 15700
  72. 15600 FOR L=0 TO R-1 STEP 1:LPRINT USING " ####";(2*C*(R-L))-(2*C-2*M+1)-1;:NEXT L:LPRINT USING "   ##";M
  73. 15700 LPRINT CHR$(27)CHR$(84)CHR$(27)CHR$(72);'cancel script; cancel double strike
  74. 15800 LPRINT CHR$(27)CHR$(45)CHR$(1);'underline
  75. 15900 FOR N=1 TO R+1:LPRINT CHR$(156);:LPRINT STRING$(4," ");:NEXT N:LPRINT "_"
  76. 16000 LPRINT CHR$(27)CHR$(45)CHR$(0);'cancel underline
  77. 16100 LPRINT CHR$(27)CHR$(83)CHR$(0);'superscript
  78. 16200 FOR P=1 TO 5:LPRINT:NEXT P
  79. 16300 LPRINT CHR$(27)CHR$(84)CHR$(27)CHR$(72);'cancel script; cancel double strike
  80. 16400 NEXT M
  81. 16500 FOR P=1 TO 6:LPRINT:NEXT P
  82. 16600 LPRINT CHR$(15)CHR$(27)CHR$(48);'reset;compressed;1/8" lines
  83. 16700 FOR L=R TO 1 STEP -1:LPRINT USING "|  ##";L;:NEXT L:LPRINT
  84. 16800 IF A=3 THEN LPRINT:LPRINT "In the above chart each block represents a character (pel).":GOTO 17100
  85. 16900 LPRINT:LPRINT "In the above chart each block represents a character (pel). The number is the address of the character, add one to this number for
  86. 17000 LPRINT "the address of the attribute. To access these bytes in BASIC, use the instruction DEF SEG=&HB800 then PEEK(n) or POKE n,data.
  87. 17100 LPRINT CHR$(12);:ON ERROR GOTO 0:RUN
  88. 17200 '         SAVE"scnmap.bas",a
  89. n DEF SEG=&H